1. Field of the Invention
This invention relates to an information processing system, with a communication function, which does not affect the operation of an application even if communication is disconnected due to a failure.
2. Description of Related Art
For an information processing system such as a notebook personal computer, electronic pocket-notebook, or hand-held terminal, which has a communication program or a communication unit installed in it, it has become more popular for a user to send data over a wireless communication line as mobile telephones have become more popular. In this case, the user starts an application in the information processing system, starts a communication program, and then connects a communication line to the information processing system, using a mobile telephone via a communication unit, for communication with another information processing system.
In a situation in which the quality of wireless communication is poor, for example, when data is sent from a mobile telephone while the user is in a vehicle or when the communication quality changes dynamically due to interference or external noises, the communication line sometimes becomes disconnected. If such a failure occurs before all the data is sent, the user must start the application and the communication program again in order to connect the communication line to the information processing system. This applies also to wire communication, such as a LAN, in which communication quality is relatively reliable and therefore an application does not anticipate that communication will be disconnected before all the data has been sent. When a connection is disconnected in such a case, the application is terminated prematurely and does not send data. This means that the user must repeat the same operation again from the beginning. In particular, a user who has been using a database or electronic mail must type the user ID and password again. This operation is very troublesome.
One known method for recovering from a communication line disconnection is described in xe2x80x9cUsing Network PDAxe2x80x9d in Nikkei Communication No. 222.
In this method, an application program is modified so that data to be sent is stored in a spool area within a sending system before communication starts. The communication program also sends data from the spool area to a receiving system. The communication program in the receiving system also stores received data in its spool area. The application program in the receiving system references the spool area to obtain data. When communication is disconnected, for example, due to a failure, the communication program automatically reconnects the communication line to the information processing system, eliminating the need for the user to repeat the operation.
However, the above known method requires a user to modify an application program. That is, the user cannot use the application without modifying the program.
In view of the foregoing, it is an object of the present invention to provide an information processing system, communication method, and recording medium which allow a user to continue communication without affecting application operation and without having to modify the application program even when communication is disconnected due to a communication error or so.
To solve the problems described above, a system according to the present invention is an information processing system which starts an application for communication with another information processing system, comprising:
connection means for making connection with said another information processing system via a communication line in response to a communication request sent from said application to said another information processing system;
identification reporting means for reporting to said application an identification of a pseudo line instead of an identification of said communication line;
change means for changing the identification of said pseudo line to the identification of said communication line upon receiving data, to which the identification of said pseudo line is attached, from said application, to send the data to the other information processing system, and for changing the identification of said communication line to the identification of said pseudo line upon receiving data, to which said identification of said communication line is attached, from said another information processing system, as to pass said data to said application; and
detection means for detecting that said communication line is disconnected due to a communication error on said communication line, wherein
said connection means makes connection with said another information processing system via another communication line different from said disconnected communication line when said detection means detects said disconnection and wherein, after said connection means makes connection with said another information processing system via said another communication line, said change means changes the identification of said pseudo line to the identification of said another communication line upon receiving data, to which the identification of said pseudo line is attached from said application, sends the data to said another information processing system, and changes the identification of said another communication line to the identification of said pseudo line upon receiving data, to which said identification of said another communication line is attached, from said another information processing system.
In this invention as described above, when an actual communication line is disconnected due to a communication error, the connection means connects to said another information processing systems via said another communication line. When the connection means makes connection with said another information processing system via said another communication line, the change means performs the following processing upon receiving data from the application. That is, the change means changes the identification data of the pseudo communication line attached to the data to the identification data of said another communication line and sends the application data to said another information processing system. In addition, upon receiving data from said another information processing system, the change means changes the identification data of said another communication line attached to the received data to the identification data of the pseudo line. This enables the application to send data with the identification data of the pseudo line attached to the data and to receive data with the identification data of the pseudo line attached. Even when a communication error occurs on the actual communication line, the pseudo line is not disconnected, and the application therefore is not affected and communication is continued. When the socket interface of TCP/IP (Transmission Control Protocol/Internet Protocol) is used, the identification data of a communication line corresponds to a handle of the socket, and a pseudo line corresponds to a connection established within an information processing system.